在 SpringBoot中配置PageHelper分页

PageHelper是一个比较简单的分页插件,但是好些人在用的时候却无法生效了。

pom.xml 引入的mybatis 和 pagehelper 要匹配

1
2
3
4
5
6
7
8
9
10
11
12
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!-- pagehelper 分页 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.9</version>
</dependency>

Mybatis的配置文件 MybatisConfig

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
* mybatis分页插件配置
*/
@Configuration
public class MybatisConfig {
@Bean
public PageHelper pageHelper(){
PageHelper pageHelper=new PageHelper();
Properties properties=new Properties();
//把这个设置为true,会带RowBounds第一个参数offset当成PageNum使用
properties.setProperty("offsetAsPageNum","true");
//设置为true时,使用RowBounds分页会进行count查询
properties.setProperty("rowBoundsWithCount","true");
properties.setProperty("reasonable","true");
pageHelper.setProperties(properties);
return pageHelper;
}
}

如果在使用注解配置的时候,需要加一个@Configuration 表示这个类是一个配置类,相当于Spring配置文件中的,再加上@Bean 进行Bean注入

然后再看看分页查询是不是在查询语句之前 

1
2
3
PageHelper.startPage(start, length,true );
List<GoodsAcceptanceRecord> list = this.service.pages(goodsAcceptanceRecord);
PageInfo<GoodsAcceptanceRecord> pageInfo = new PageInfo<>(list);

若发现查出来的还是全部数据。

然后选择刷一下缓存,删除编译的文件重新编译

继开 wechat
欢迎加我的微信,共同交流技术